/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.xeerkat.agent;

import java.util.Iterator;
import org.restlet.Uniform;
import org.xeerkat.xmpp.ID;

/**
 *
 * @author alex
 */
public interface GroupChat {

   public interface Listener {
      void onCreateFailed(int code, String message);
      void onJoinFailed(int code,String reason);
      void onReady();
      void onJoin(ID id);
      void onLeave(ID id);
      void onDecline(ID id, String reason);
   }

   ID getRoom();

   ID getId();

   String getRole();

   String getAffiliation();

   boolean isMember();

   Iterator<ID> getMembers();

   void leave();

   void invite(ID id,String message);

   void registerTarget(String id,Uniform target);

   void setDefaultTarget(Uniform target);

}
